/*
 * TEMPO - Topographic Eeg Mapping PrOgram.
 * 
 * Copyright (C) 1995, 1996, 2003, 2004, 2005, 2007 Aleksandar
 * Samardzic
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or (at
 * your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
 * USA
 */

//!\file vertex.h
//!Declaration of Vertex class.

#ifndef VERTEX_H
#define VERTEX_H 1

#include "color.h"
#include "vector.h"

//! Vertex data.
/*!
 * This class represents an object vertex, consisting of vertex
 * coordinates and color.
 */
class Vertex {
 public:
        /*!
         * Construct an object of Vertex class given vertex coordinates
         * and color.
         */
        Vertex(const Vector &, const Color &);

        /*!
         * Return vertex coordinates.
         */
        const Vector &getPoint() const;

        /*!
         * Return vertex color.
         */
        const Color &getColor() const;

        /*!
         * Set vertex color.
         */
        void setColor(const Color&);

 private:
        /*!
         * Vertex coordinates.
         */
        Vector point;

        /*!
         * Vertex color.
         */
        Color color;
};

#endif
